Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

235
Visualizações
¿Cómo puedo encontrar el archivo .h correspondiente que incluye la función "cacheflush"?

Traté de usar la función cacheflush en mi computadora Linux X86. Sin embargo, aunque las páginas del manual indican que la función se puede encontrar en los archivos ".h" <sys/cachectl.h> <asm/cachectl.h> o <asm-generic/cachectl.h>, mi compilador GCC no puede encontrar estos archivos.

¿Que puedo hacer? es decir, ¿cómo puedo incluir la función en mi programa para que GCC la reconozca?

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

No estoy seguro, pero lee man cacheflush , creo que no puedes.

Nota: en algunas arquitecturas, no hay contenedor glibc para esta llamada al sistema; ver notas.

Variantes específicas de la arquitectura Glibc proporciona un envoltorio para esta llamada al sistema, con el prototipo que se muestra en SYNOPSIS, para las siguientes arquitecturas: ARC, CSKY, MIPS y NIOS2.

En algunas otras arquitecturas, Linux proporciona esta llamada al sistema, con diferentes argumentos:

M68K:

 int cacheflush(unsigned long addr, int scope, int cache, unsigned long len);

SH:

 int cacheflush(unsigned long addr, unsigned long len, int op);

NDS32:

 int cacheflush(unsigned int start, unsigned int end, int cache);

En las arquitecturas anteriores, glibc no proporciona un envoltorio para esta llamada al sistema; llámalo usando syscall(2).

Si entiendo bien, glic solo proporciona cacheflush para 4 arquitecturas.


Si realmente desea llamar a esta función, gcc proporciona específicamente __builtin___clear_cache() (búsquelo en la página de manual), pero nuevamente, eso no será portátil para otros compiladores.

over 4 years ago · Santiago Trujillo Relatório

0

Simplemente puede buscar funciones de cacheflush en el archivo de encabezados con un grep: grep -rin cacheflush /usr/include

Dependiendo de su compilador, los archivos de encabezados se pueden ubicar en /opt/path/to/your/compiler , verifique la ruta de inclusión proporcionada a su enlazador.

over 4 years ago · Santiago Trujillo Relatório

0

Si bien no es lo que pedí, en Intel x86 se pueden vaciar páginas invalidadas usando comandos de inteligencia intrínsecos, es decir, _mm_clflushopt y _mm_clflush.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda